Windows 自带的远程桌面(RDP)在默认配置下不调用独立显卡,会话画面由软件合成,传输帧率为 30 fps。需要 OpenGL 或 DirectX 的程序在会话内运行会明显变慢,滚动网页和拖动窗口也能观察到拖影。两处设置可以改善这个情况:组策略打开硬件显卡加速,注册表把合成帧率上限改为 60 帧。
本文记录这两项改动,以及 Lenovo ThinkCentre M910q 上的配置情况。
环境
| 项目 | 配置 |
|---|---|
| 主机 | Lenovo ThinkCentre M910q(1L 小主机) |
| CPU | i9-9980HK ES |
| 内存 | 16 GB DDR4-3200 |
| 显卡 | Intel UHD Graphics 630(核显,无独立显卡) |
| 系统 | Windows 10 / 11 专业版(组策略可用) |
| 客户端 | Windows 原生远程桌面客户端 |
有一项需要先确认。ES 版 CPU 的核显在不同批次上的表现不同,部分平台的核显在 BIOS 中默认关闭。改动前先在设备管理器的「显示适配器」中确认存在 Intel UHD Graphics 这类设备,并且驱动为 Intel 官方版本。只显示「Microsoft 基本显示适配器」时,先解决驱动问题。
一、开启硬件显卡加速
- 在远程主机上按 Win+R,输入
gpedit.msc,打开本地组策略编辑器。 - 依次展开:计算机配置 → 管理模板 → Windows 组件 → 远程桌面服务 → 远程桌面会话主机 → 远程会话环境。
- 在右侧找到「将硬件图形适配器应用于所有远程桌面服务会话」。
- 双击该项,选择「已启用」,确定。
- 重启远程主机。
这一项在主机上设置,客户端不需要改动。
重启后,会话内的程序可以调用本机显卡。DirectX 与 OpenGL 程序的变化最直接。UHD Graphics 630 提供 D3D11 与 OpenGL 支持,Vulkan 的可用性取决于驱动版本。
二、把传输帧率上限改为 60 帧
- 在远程主机上按 Win+R,输入
regedit,打开注册表编辑器。 - 定位到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations。 - 在右侧空白处右键,新建 DWORD(32 位)值,命名为
DWMFRAMEINTERVAL。 - 双击新建的键值,基数选择十进制,数值数据填写
15。 - 确定,重启远程主机。
15 表示桌面窗口管理器的合成间隔为 15 毫秒。1000 ÷ 15 ≈ 66.7,对应 60 Hz 屏幕的帧率上限。使用 120 Hz 或 144 Hz 屏幕时,可以按同样的方法改为 8 或 7,实际帧率仍然受链路带宽与客户端解码能力限制。
该键值位于 WinStations 下,对这台主机的所有 RDP 会话生效。
帧率提高会带来带宽占用上升。在相同分辨率与画质下,60 帧的数据量接近 30 帧的两倍。局域网千兆链路可以稳定承载 1080p60。跨公网使用时,先确认上行带宽与往返延迟,往返延迟低于 40 ms 时体验较好。
三、确认是否生效
| 检查项 | 方法 | 期望结果 |
|---|---|---|
| 会话使用的渲染设备 | 会话内运行 dxdiag,查看「显示」选项卡的「呈现」 | 显示 Intel(R) UHD Graphics 630 这类显卡名称 |
| 显卡是否参与渲染 | 任务管理器 → 性能 → GPU | 打开图形程序时占用率不为 0 |
| 帧率上限 | 会话内用浏览器打开帧率测试页,滚动或拖动窗口 | 帧率高于 30,接近 60 |
dxdiag 的「呈现」仍然显示 Microsoft Basic Render Driver 时,说明硬件加速没有生效。检查组策略是否已设置为「已启用」,以及当前会话是否在改动之后重新建立。
四、什么情况下不要开启
这一节针对没有可用显卡的机器。
- 主机没有可用的 GPU。 服务器主板上常见只集成 ASPEED 之类的 BMC 显示芯片,核显在 BIOS 中关闭或不存在。这种机器打开硬件加速后,桌面窗口管理器(DWM)会回退到 WARP 软件渲染。软件渲染比默认路径多一层合成,CPU 占用上升,画面比改动前更卡。
- 核显存在但驱动缺失或版本过旧。 结果与上一条相同,渲染回退到 WARP。
- 内存容量偏小且为单通道。 核显共享系统内存与内存带宽,加速后的这部分开销会挤占系统资源。
- 用途只有命令行与文本编辑。 硬件加速没有收益,保持默认即可。
改动前按下表判断,任一符合就不要开启:
| 检查位置 | 不符合条件的表现 |
|---|---|
| 设备管理器 → 显示适配器 | 只有「Microsoft 基本显示适配器」 |
dxdiag → 显示 → 呈现 | Microsoft Basic Render Driver |
| 任务管理器 → 性能 → GPU | 列表为空,或只有 Microsoft Basic Render Driver |
五、回滚
| 改动 | 回滚方式 |
|---|---|
| 硬件显卡加速 | 组策略改回「未配置」,重启主机 |
| 帧率上限 | 删除 DWMFRAMEINTERVAL 键值,重启主机 |
附:两点限制
- 系统为 Windows 家庭版时没有
gpedit.msc。这项策略对应的注册表值没有在本机验证过,因此本文不给出家庭版的替代写法。 - 最终帧率由链路带宽、往返延迟与客户端解码能力共同决定,主机侧的设置只决定上限。
参考
- 微软支持文档 KB2885213:Windows 8 与 Windows Server 2012 中 RDP 帧率被限制在 30 fps
- 原始教程:RDP 优化操作 微软远程桌面 开启显卡加速、60FPS、USB 设备重定向(CSDN,csdn_life18)
暂无评论
还没有评论,来说点什么吧